package com.yyq.servicebase.handler;

import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
import org.apache.ibatis.reflection.MetaObject;
import org.springframework.stereotype.Component;

import java.util.Date;

/**
 * @author yyq
 * @create 2021-03-22 22:29
 * 今天在写程序的时候看见一个以前没有见过的注解（@Component），在网上查找过后，经过实践，决定把它记录下来。
 * 1、@controller 控制器（注入服务）
 *
 * 用于标注控制层，相当于struts中的action层
 * 2、@service 服务（注入dao）
 *
 * 用于标注服务层，主要用来进行业务的逻辑处理
 * 3、@repository（实现dao访问）
 *
 * 用于标注数据访问层，也可以说用于标注数据访问组件，即DAO组件.
 * 4、@component （把普通pojo实例化到spring容器中，相当于配置文件中的
 * <bean id="" class=""/>）
 *
 * 泛指各种组件，就是说当我们的类不属于各种归类的时候（不属于@Controller、@Services等的时候），我们就可以使用@Component来标注这个类
 * ————————————————
 * 版权声明：本文为CSDN博主「我是个菇凉」的原创文章，遵循CC 4.0 BY-SA版权协议，转载请附上原文出处链接及本声明。
 * 原文链接：https://blog.csdn.net/m0_37626813/article/details/78558010
 */
@Component
public class MyMetaObjectHandler implements MetaObjectHandler {

    @Override
    //这里是属性名
    public void insertFill(MetaObject metaObject) {
        this.setFieldValByName("gmtCreate", new Date(), metaObject);
        this.setFieldValByName("gmtModified", new Date(), metaObject);
    }

    @Override
    public void updateFill(MetaObject metaObject) {

        this.setFieldValByName("gmtModified", new Date(), metaObject);
    }
}
